// Problem: G - Non-negative Partial Sums
// Idea: Sweep
// Language: C++
// Author: Ivan Vladimirov Ivanov (ivan.vladimirov.ivanov@gmail.com)

#include <cstdio>

using namespace std;

#define MAX 2000005

int  input(void);
void solve(void);

int n;
int A[MAX];

int main(void)
{
  while(input()) solve();

  return 0;
}

int input(void)
{
  scanf("%d", &n);
  if(n == 0) return 0;
  for(int i = 0; i < n; i++) scanf("%d", &A[i]);
  return 1;
}

void solve(void)
{
  for(int i = 0; i < n; i++) A[n + i] = A[i];

  int sum = 0;
  for(int i = 2 * n - 1; i >= n; i--) {
    sum += A[i];
    if(sum > 0) sum = 0;
  }

  int cnt = 0;
  for(int i = n - 1; i >= 0; i--) {
    sum += A[i];
    if(sum > 0) sum = 0;
    if(sum >= 0) cnt++;
  }

  printf("%d\n", cnt);
}

